package com.cn.wanxi.service;

import com.cn.wanxi.dao.NavDao;
import com.cn.wanxi.model.NavModel;

public class NavService {
    public NavModel getNavModel() {
        NavModel navModel = new NavModel();
        String navTitle = "网站首页";
        navModel.setTitle(navTitle);
        return navModel;
    }

    //    String name;
//    int age;
    public NavModel[] getNavModels() {
// 我们需要拿到dao层数组的长度，进行定义
        NavDao navDao=new NavDao();
        int length=navDao.hrefs.length;//拿到当前hrefs的数组长度
        NavModel[] navModels = new NavModel[length];//动态定义

////        引用类型，如果不对其赋值，那么默认值就为null
//        NavModel model1 = new NavModel();
//        model1.setTitle(navDao.title1);
//        model1.setHref(navDao.href1);
////        数组的下标从0开始
//        navModels[0] = model1;//对数组的第一个元素进行赋值
//        NavModel model2 = new NavModel();
//        model2.setTitle(navDao.title2);
//        model2.setHref(navDao.href2);
//        navModels[1] = model2;
//
//        NavModel model3 = new NavModel();
//        model3.setTitle(navDao.title3);
//        model3.setHref(navDao.href3);
//        navModels[2] = model3;

//        这里面的数据应该从dao层来
//        System.out.println(age);
//        NavModel[]  navModels={new NavModel(),new NavModel()};

//        如果数组里面需要赋值，则需要对数组进行循环（遍历）
//        循环语句
//        for(初始化语句，限制语句，根据什么条件来更新)
        for (int i = 0; i < length; i++) {
//            创建一个新的导航对象
            NavModel model = new NavModel();
//            对当前导航对象进行赋值href
            model.setHref(navDao.hrefs[i]);
//            赋值title
            model.setTitle(navDao.titles[i]);
//            对数组进行赋值，将刚刚创建的对象赋值给数组
            navModels[i] = model;
        }
//        既然数组可以通过navModels[i] = model;进行赋值，
//        那么我可不可以通过model=navModels[i] ;进行取值呢？
//        System.out.println(navModels);
        return navModels;
    }

    public static void main(String[] args) {
        new NavService().getNavModels();
    }
}
